{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第二回：艺术画笔见乾坤"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一、概述"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. matplotlib的三层api\n",
    "matplotlib的原理或者说基础逻辑是，用Artist对象在画布(canvas)上绘制(Render)图形。  \n",
    "就和人作画的步骤类似：  \n",
    "1. 准备一块画布或画纸\n",
    "2. 准备好颜料、画笔等制图工具\n",
    "3. 作画\n",
    "    \n",
    "所以matplotlib有三个层次的API：  \n",
    "  \n",
    "`matplotlib.backend_bases.FigureCanvas` 代表了绘图区，所有的图像都是在绘图区完成的  \n",
    "`matplotlib.backend_bases.Renderer` 代表了渲染器，可以近似理解为画笔，控制如何在 FigureCanvas 上画图。  \n",
    "`matplotlib.artist.Artist` 代表了具体的图表组件，即调用了Renderer的接口在Canvas上作图。  \n",
    "前两者处理程序和计算机的底层交互的事项，第三项Artist就是具体的调用接口来做出我们想要的图，比如图形、文本、线条的设定。所以通常来说，我们95%的时间，都是用来和matplotlib.artist.Artist类打交道的。\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T07:51:58.496608Z",
     "start_time": "2021-05-23T07:51:58.471601Z"
    }
   },
   "source": [
    "### 2. Artist的分类\n",
    "Artist有两种类型：`primitives` 和`containers`。 \n",
    "  \n",
    "`primitive`是基本要素，它包含一些我们要在绘图区作图用到的标准图形对象，如**曲线Line2D，文字text，矩形Rectangle，图像image**等。   \n",
    "  \n",
    "`container`是容器，即用来装基本要素的地方，包括**图形figure、坐标系Axes和坐标轴Axis**。他们之间的关系如下图所示：  \n",
    "![分类](https://img-blog.csdnimg.cn/20201122230916134.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODYwNDk2MQ==,size_16,color_FFFFFF,t_70#pic_center)  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-31T08:16:02.613781Z",
     "start_time": "2020-10-31T08:16:02.591813Z"
    }
   },
   "source": [
    "### 3. matplotlib标准用法\n",
    "matplotlib的标准使用流程为：  \n",
    "1. 创建一个`Figure`实例\n",
    "2. 使用`Figure`实例创建一个或者多个`Axes`或`Subplot`实例\n",
    "3. 使用`Axes`实例的辅助方法来创建`primitive`  \n",
    "\n",
    "值得一提的是，Axes是一种容器，它可能是matplotlib API中最重要的类，并且我们大多数时间都花在和它打交道上。更具体的信息会在第三节容器小节说明。\n",
    "\n",
    "一个流程示例及说明如下：  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:15.890803Z",
     "start_time": "2021-05-23T08:29:15.508211Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "# step 1 \n",
    "# 我们用 matplotlib.pyplot.figure() 创建了一个Figure实例\n",
    "fig = plt.figure()\n",
    "\n",
    "# step 2\n",
    "# 然后用Figure实例创建了一个两行一列(即可以有两个subplot)的绘图区，并同时在第一个位置创建了一个subplot\n",
    "ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot\n",
    "\n",
    "# step 3\n",
    "# 然后用Axes实例的方法画了一条曲线\n",
    "t = np.arange(0.0, 1.0, 0.01)\n",
    "s = np.sin(2*np.pi*t)\n",
    "line, = ax.plot(t, s, color='blue', lw=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、基本元素 - primitives\n",
    "各容器中可能会包含多种`基本要素-primitives`, 所以先介绍下primitives，再介绍容器。\n",
    "  \n",
    "本章重点介绍下 `primitives` 的几种类型：**曲线-Line2D，矩形-Rectangle，图像-image** （其中文本-Text较为复杂，会在之后单独详细说明。）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 2DLines\n",
    "在matplotlib中曲线的绘制，主要是通过类 `matplotlib.lines.Line2D` 来完成的。   \n",
    "它的基类: `matplotlib.artist.Artist`   \n",
    "  \n",
    "matplotlib中`线-line`的含义：它表示的可以是连接所有顶点的实线样式，也可以是每个顶点的标记。此外，这条线也会受到绘画风格的影响，比如，我们可以创建虚线种类的线。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "它的构造函数：\n",
    "\n",
    ">```\n",
    "class matplotlib.lines.Line2D(xdata, ydata, linewidth=None, linestyle=None, color=None, marker=None, markersize=None, markeredgewidth=None, markeredgecolor=None, markerfacecolor=None, markerfacecoloralt='none', fillstyle=None, antialiased=None, dash_capstyle=None, solid_capstyle=None, dash_joinstyle=None, solid_joinstyle=None, pickradius=5, drawstyle=None, markevery=None, **kwargs)\n",
    ">```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中常用的的参数有：  \n",
    "+ **xdata**:需要绘制的line中点的在x轴上的取值，若忽略，则默认为range(1,len(ydata)+1)\n",
    "+ **ydata**:需要绘制的line中点的在y轴上的取值\n",
    "+ **linewidth**:线条的宽度\n",
    "+ **linestyle**:线型\n",
    "+ **color**:线条的颜色\n",
    "+ **marker**:点的标记，详细可参考[markers API](https://matplotlib.org/api/markers_api.html#module-matplotlib.markers)\n",
    "+ **markersize**:标记的size\n",
    "  \n",
    "其他详细参数可参考[Line2D官方文档](https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html#examples-using-matplotlib-lines-line2d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### a. 如何设置Line2D的属性\n",
    "有三种方法可以用设置线的属性。  \n",
    "1) 直接在plot()函数中设置  \n",
    "2) 通过获得线对象，对线对象进行设置   \n",
    "3) 获得线属性，使用setp()函数设置  \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.033193Z",
     "start_time": "2021-05-23T08:29:15.893804Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d1468be0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAlAklEQVR4nO3dd3xVZZ7H8c+TShJKgAQSSihSQxIUQ7EXLICVMo46jGMDZ9adcZ1ZFSuOooPMjKvjzupgd+xLsWEQrKiDoYlp9F7SIBBSCGnP/pHsLhMpuTnntuT7fr14keSe5zk/Hy9fDuee8zvGWouIiASfEH8XICIiLaMAFxEJUgpwEZEgpQAXEQlSCnARkSAV5sudxcXF2b59+/pylyIiQW/16tX7rLXxTX/u0wDv27cvq1at8uUuRUSCnjFmx7F+rlMoIiJBSgEuIuJl1lreX7uHrcXlrs7r01MoIiJtTX7pYR5YmMNn64sY1bcLb08fQ0iIcWVuHYGLiHhBfb3ljcwdXPzkMj5bXwTAiu0lvLFip2v70BG4iIjLtu2rYMb8LDK3lfzotdkfr+PCId3oGRvleD8nPQI3xrxkjCkyxuQc9bMuxpilxphNjb93dlyJiEiQq62rZ+6yLYx7atkxwxugorqO+xdm40YjweacQnkFGNfkZzOAz6y1A4HPGr8XEWmz1uUfYtKz/+Dxj9dzpLb+hNt+uaGY99bucbzPkwa4tXYZ0PSvkquAVxu/fhW42nElIiJB6EhtHU8u3cgVz3xD1u7SZo/7/Yd57Cs/4mjfLf0Qs7u1Nh+g8fdux9vQGDPdGLPKGLOquLi4hbsTEQk8a3Ye4PK/fMNfPttEbb1np0QOVtYw84NcR/v3+lUo1tq51tp0a216fPyP7gQVEQk6ldW1PPJhHpOf/Qebilp+bfeirHxW7zjQ4vEtvQql0BiTaK3NN8YkAkUtrkBEJIh8u3kfMxZksavksKN54tpH8MhVKYxIim3xHC0N8A+AXwCzG39/v8UViIgEgdLDNTy+aB3vrNrleK5JI3ry4GXJdI6JcDTPSQPcGPMWcD4QZ4zZDcykIbjfNcbcAuwEfuKoChGRALYkt4AH3suhqMzZh449Y6N4bGIK5w8+7seGHjlpgFtrrzvOS2NdqUBEJEAVlx3h4Q9zWZSV73iuX5zRh7vGDaF9pHv3T+pOTBGRJqy1LPx+D498lMfByhpHc/WPj+GJyWmM7NvFper+nwJcROQoew4e5v6F2Xy5wdllz6EhhtvO7c9vxg6kXXioS9X9MwW4iAj/33xqdsZ6KqrrHM2VnNiROVPSSOnZyaXqjk0BLiJt3tbicmbMz2bF9mP3L2muiLAQ7hg7kOnn9ic81PvNXhXgItJm1dbV8/zX2/iPTzdSfZL+JSeT3qczsyenMaBbe5eqOzkFuIi0Sbl7S7lnfhY5ew45mic6IpR7xg3h52P6uPaghuZSgItIm1JVU8czn2/iua+2Uudh/5Kmzh0Uz+MTU+jVOdql6jyjABeRNmP1jhLunpfFluIKR/N0igrnwcuTmTyiJ8b49qj7aApwEWn1Ko7U8sdPNvDq8u04fY7ChNQEHr5yGN06tHOnOAcU4CLSqi3bWMy9C7LZc9Bp86lIZl09jHEpiS5V5pwCXERapdLKGh5dlMe81bsdz/WT03vxwGXJdIoOd6Ey9yjARaTVWZyTz4Pv51LssPlUr85R/GFSKucMDMxnGSjARaTVKCqrYub7uWTkFDiaxxj4xRl9uevSwcS42HzKbYFbmYhIM1lrmbd6N7MWraP0sLPmU6fExzBnShqn93G/+ZTbFOAiEtR2lVRy38Jsvt60z9E8YSGGX553Cv964QCvNZ9ymwJcRIJSfb3lteXbmfPJBiodNp9K6dmRJyanMayHd5tPuc1RgBtj7gCmAQZ43lr7lBtFiYicyOaicmbMz2KVgwcCA0SGhXDnxYO49ex+hPmg+ZTbWhzgxpgUGsJ7FFANLDbGLLLWbnKrOBGRo9XU1TN32Vae/nQT1XXOmk+N6tuF2ZNT6R/vu+ZTbnNyBD4U+M5aWwlgjPkKmAjMcaMwEZGj5ewp5e55WeTlO2s+FRMRyowJQ/nZqCSfN59ym5MAzwEeM8Z0BQ4DE4BVTTcyxkwHpgMkJSU52J2ItEVVNXU8/dkm5i5z3nzq/MHxPDYxlZ6xUS5V518tDnBr7TpjzBPAUqAc+AGoPcZ2c4G5AOnp6Q67EIhIW7Jyewn3zMti6z5nzac6R4fz0BXJXH2qf5tPuc3Rh5jW2heBFwGMMY8Dzu9ZFZE2r/xILXMWr+e15Tscz3V5WiIPXzmMuPaRLlQWWJxehdLNWltkjEkCJgFnuFOWiLRVX2wo4v4F2ewtrXI0T7cOkcy6OoVLhiW4VFngcXod+PzGc+A1wO3WWmfX9IhIm3WgoppHP8pjwfd7HM917cje3DthKJ2iAqv5lNucnkI5x61CRKRtstbycXYBMz/IYV95taO5eneJYvakNM4aEOdSdYFNd2KKiN8UHarigfdyWJJX6GgeY+Dms/rxu0sGER3RdmKt7fyXikjAsNby36t28+iiPMqqfnTxmkcGdmvPE1PSGJHU2aXqgocCXER8aldJJfcuyOabzc6bT91+wQD+5YJTiAwLjuZTblOAi4hP1NVbXv3Hdv74yQYO1zhrPpXWqxNzpqQxJKGjS9UFJwW4iHjdpsIy7p6fxfc7DzqaJzIshH+/ZDA3ndU3KJtPuU0BLiJeU11bz3NfbeE/P9/suPnU6H5deGJyGn3jYlyqLvgpwEXEK7J2H+TueVmsLyhzNE+HyDDunTCUa0f2DvrmU25TgIuIq6pq6viPpRt5/uutOOw9xdgh3Zg1MYXETq2j+ZTbFOAi4prvtu5nxvwstu+vdDRPl5gIZl6RzJXDe7Sq5lNuU4CLiGNlVTXMzljPG5k7Hc911ak9eOjyZLq2wuZTblOAi4gjn68v5P6FOeQ7bD6V0LEds65O4aLk7i5V1vopwEWkRUoqqnnkw1zeW7vX8VzXj05ixvghdGzXuptPuU0BLiIesdbyYVY+D3+QS0mFs+ZTfbpGM3tSGmec0tWl6toWBbiINFtBaUPzqU/XOWs+FWLg1nP6c+dFg4iKaJu3wbtBAS4iJ3S4uo6vNhaRkVPA0rxCKqud3QY/JKEDT0xOY3jvWHcKbMMU4CLyI2VVNXy+vojFOQV8uaHYce8SgPBQw79eMJBfnX8KEWG6Dd4NTh+pdidwK2CBbOAma62zj6JFxC9KK2tYuq6QxTn5LNu0j+paZ7e+H+3U3rHMmZLGoO4dXJtTHAS4MaYn8Bsg2Vp72BjzLnAt8IpLtYmIl+0rP8KS3EIycvJZvmU/tU5vnWwiKjyUf790MDee2ZdQ3QbvOqenUMKAKGNMDRANOL+eSES8qqC0ik9yC8jIyWfFthLHt7sfz1kDuvKHiWkkdY32zg6k5QFurd1jjPkTsBM4DCyx1i5pup0xZjowHSApKamluxMRB3aVVLI4pyG01zhs6XoyHdqF8cBlQ7kmvbdug/cyJ6dQOgNXAf2Ag8B/G2OmWmtfP3o7a+1cYC5Aenq6l/6uF5GmthaXk9EY2jl7Dvlknxcnd2fW1Sl079jOJ/tr65ycQrkI2GatLQYwxiwAzgReP+EoEfEKay0bCsvIyC5gcU4BGwqdtXH1RNeYCH5/1TAuS03UUbcPOQnwncAYY0w0DadQxgKrXKlKRJrFWkv2nlIychpCe9u+Cp/XMPG0njx0eTKdYyJ8vu+2zsk58ExjzDxgDVALfE/jqRIR8Z76esv3uw6QkV1ARk4Bew4e9nkN3TtGMm5YAteOSmJoYtt+LqU/OboKxVo7E5jpUi0ichy1dfWs2F7C4pwCPsktoPDQEZ/X0DM2igmpCYxLSeS03rF6Ok4A0J2YIgGqurae5Vv3szgnnyW5hex32DiqJfrHxTAuJYHxKYmk9Oyo89sBRgEuEkCqaur4etM+MnLy+TSvkENVtT6vYUhCh/8L7UHd2yu0A5gCXMTPKqtr+XJDMR9n5/PF+iIqHDaLaonUnp0Yn5rAuGEJ9I9v7/P9S8sowEX84FBVDZ+vKyIjJ5+vNhZTVeNe35HmOr1PZ8anJHDpsAR6d9HdksFIAS7iIwcqqlma19B35NvN+6mu821ohxgY3a8r41MbQls32wQ/BbiIFxWVVbEkt5DFOQUs37qfOm81HjmOsBDDmQPiGJ+SwCXJ3fWg4FZGAS7isr0HD7O48caalTtKsD5uIBERFsK5A+MZn5LARUO70ylaz5lsrRTgIi7Yub+SjJx8Ps4p4IddB32+/6jwUC4c0o1xKQlcMKQb7SP1R7st0P9lkRbaXFT2f3dD5uX7plnU0TpEhjF2aDfGpSRy3qB4PVuyDVKAizSTtZZ1+WVk5OSTkVPA5qJyn9cQGx3OJcndGZ+SyJkDuhIZptBuyxTgIidgreWH3aVk5OSzOKeAHfsrfV5DXPtILh3WnQmpiYzu14WwUD1PUhoowEWaqKu3rN5xgIycfD7JKWBvqe8f89qjUzsubbwb8vQ+nfU4MjkmBbgIDc2iMreVNIR2biHFZb5vFpXUJZrxqQ2hPbxXJ93CLielAJc2y1rLyu0HmLd6F0vzCjlQWePzGgZ0a8/4lATGpSSQnKhmUeIZBbi0STv2V3Dfwmy+3bzf5/tOTuzI+JQExqcmMKBbB5/vX1oPJ8/EHAy8c9SP+gMPWWufclqUiLfU1Vte/nYbf1qywaf9R4b3jm0I7ZQE+nSN8dl+pXVz8kSeDcCpAMaYUGAPsNCdskTct6GgjLvnZ/nkRhtjYGSfLoxrPD3SIzbK6/uUtsetUyhjgS3W2h0uzSfimuraev76xWb+68vN1NR577720BDDGf27Mi4lgUuGdadbBzWLEu9yK8CvBd461gvGmOnAdICkpCSXdifSPGt3HeTueT+wsdA7N92EhxrOHhDH+JRELk7urgf7ik8Z67DTjjEmAtgLDLPWFp5o2/T0dLtqlR5cL953uLqOPy/ZwEvfbsPtBoCRYSGcPzie8SmJXDi0Gx3bqVmUeJcxZrW1Nr3pz904Ah8PrDlZeIv4yj+27GPG/Gx2lrh312RMRCgXDOnGhNREzh8cT3SELuAS/3PjXXgdxzl9IuJLh6pq+MPH63hrxS5X5uvYLoyLGvuOnDMwjnbh6jsigcVRgBtjooGLgdvcKUekZT7NK+T+97IpPOTsDsrO0eGNV44kckb/rkSEqe+IBC5HAW6trQS6ulSLiMf2lR/h9x/m8eEPex3P9fMxfbh73GA66Jy2BAmdyJOgZK3l/bV7+f2HuY5vge8XF8PsSamM7q9jEQkuCnAJOnsPHuaB93L4fH2Ro3lCQwzTz+3PHWMH6vy2BCUFuASN+nrLmyt2MjtjPeVHah3NNTSxI3Mmp5Haq5NL1Yn4ngJcgsK2fRXMmJ9F5rYSR/NEhIZwx0UDmX5uf8L1YAQJcgpwCWi1dfW8+M02nly6kSO1zppPjUiKZc6UNHUAlFZDAS4Ba13+Ie6Zn0XW7lJH80RHhHL3pYP5+Rl99WQbaVUU4BJwjtTW8dfPN/NfX26h1uF98OcMjOPxian07hLtUnUigUMBLgFl9Y4D3DM/y/ET3zu2C+PBy5OZcnovPeVGWi0FuASEyupa/vjJBl75x3Yc9ldj3LAEHrl6mNq5SqunABe/+2bTPmYsyGL3gcOO5olrH8mjVw1jfGqiS5WJBDYFuPhN6eEaHluUx7urdjuea/KIXjx4+VBio9WPW9oOBbj4xSe5BTz4Xg5FZc6aT/WMjeLxSamcNyjepcpEgocCXHyquOwID3+Qy6LsfEfzGAM3jOnDXeOG0D5Sb2Npm/TOF5+w1rLw+z088lEeBx02n+ofH8OcyWmk9+3iUnUiwUkBLl635+Bh7luQzVcbix3NExpi+OV5/fn1hWo+JQIKcPGi+nrL65k7eCJjPRXVdY7mGtajI3OmpDGsh5pPifwvp0/kiQVeAFIAC9xsrV3uQl0S5LYUlzNjfhYrtx9wNE9EWAj/dtFApp2j5lMiTTk9An8aWGytndL4dHrdr9zG1dbVM/frrTz16SaqHTafGtm3M7Mnp3FKfHuXqhNpXVoc4MaYjsC5wI0A1tpqoNqdsiQY5e4t5Z75WeTsOeRonpiIUO4ZP4Spo/sQouZTIsfl5Ai8P1AMvGyMGQ6sBu6w1lYcvZExZjowHSApKcnB7iRQVdXU8cznm3juq63UOWw+dd6geB6bmEKvzvrHnMjJODmpGAaMAJ611p4GVAAzmm5krZ1rrU231qbHx+tmi9Zm9Y4SLvvL1/z1iy2Owjs2OpwnrxnOKzeNVHiLNJOTI/DdwG5rbWbj9/M4RoBL61RxpKH51KvLnTefuiw1kYevHEZ8h0h3ihNpI1oc4NbaAmPMLmPMYGvtBmAskOdeaRKolm0s5t4F2ew56Kz5VHyHSB69KoVxKQkuVSbStji9CuXXwBuNV6BsBW5yXpIEqoOV1cxatI55q503n7omvRf3T0imU3S4C5WJtE2OAtxauxZId6cUCWQZ2fk8+H4u+8qdNZ/q1TmK2ZPSOHtgnEuVibRduhNTTqiorIqZ7+eSkVPgaB5j4MYz+/LvlwwmRs2nRFyhP0lyTNZa5q3ezaxF6yg97Kz51IBu7Xlichqn9+nsUnUiAgpwOYZdJZXctzCbrzftczRPWIjhX84/hdsvHEBkmJpPibhNAS7/p77e8try7cz5ZAOVDptPpfbsxBOT00ju0dGl6kSkKQW4ALC5qIx75mezeoez5lORYSH89uJB3HJ2P8LUfErEqxTgbVxNXT1zl23l6U83UV3nrPnUqH5dmD0plf5qPiXiEwrwNixnTyl3z8siL99Z86n2kWHMGD+E60clqfmUiA8pwNugqpo6nv5sE3OXOW8+dcHgeB6bmEqP2CiXqhOR5lKAtzErt5dwz7wstu6rOPnGJ9A5OpyZVwzjqlN7YIyOukX8QQHeRpQfqWXO4vW8tnyH47muGN6DmVckE9dezadE/EkB3gZ8saGI+xdks7e0ytE83TtGMuvqVC5O7u5SZSLihAK8FTtQUc2jH+Wx4Ps9jue6blRvZowfSqcoNZ8SCRQK8FbIWsvH2QXM/CCHfeXOnnKX1CWa2ZNSOXOAmk+JBBoFeCtTdKiKB97LYUleoaN5QgzcfFY/fnvJIKIj9DYRCUT6k9mKLFizm5kf5FJWVetonkHdG5pPnZak5lMigUwB3gpYa3li8Qae+2qLo3nCQw3/cv4Abr9gABFhug1eJNA5CnBjzHagDKgDaq21eriDj1lreeSjPF7+drujeYb36sQTU9IYkqDmUyLBwo0j8Austc76jkqL1NdbHvogh9e/29niOdqFh/C7iwdz89n9CNVt8CJBRadQglR9veW+hdm8vXJXi+cY078Lsyel0TcuxsXKRMRXnAa4BZYYYyzwN2vt3KYbGGOmA9MBkpKSHO5OAOrqLXfN+4EFa1p2fXeHyDDunTCUa0f2VvMpkSDmNMDPstbuNcZ0A5YaY9Zba5cdvUFjqM8FSE9Pd9Y5Saipq+e37/7Ahz/sbdH4sUO6MWtiComd1HxKJNg5fSr93sbfi4wxC4FRwLITj5KWqq6t5zdvfc/iXM8fMNwlJoKHrxzGFWmJaj4l0kq0OMCNMTFAiLW2rPHrS4BHXKtM/smR2jpuf2MNn64r8njshNQEHr0qha5qPiXSqjg5Au8OLGw8mgsD3rTWLnalKvknVTV13Pb31Xy1sdjjsVPHJPHIlSk61y3SCrU4wK21W4HhLtYix1BZXcu011bx7eb9Ho+9+ax+PHj5UJ0yEWmldBlhACs/UsvNr6xkxbYSj8f+8rxTuGfcYIW3SCumAA9Qh6pquPGlFazZedDjsb8ZO5A7Lxqo8BZp5RTgAai0soYbXsrkh92lHo/93cWD+PXYgV6oSkQCjQI8wJRUVPPzFzPJ3ev5k+LvHT+E2847xQtViUggUoAHkH3lR5j6QibrC8o8HvvQ5cncfHY/L1QlIoFKAR4gig5Vcf0LmWwuKvd47KyrU5g6po8XqhKRQKYADwD5pYe5/vlMtu2r8GicMfDEpDSuGdnbS5WJSCBTgPvZ7gOVXP98JjtLKj0aF2LgTz8ZzqQRvbxUmYgEOgW4H+3YX8H1z2ey5+Bhj8aFhhie+umpXDG8h5cqE5FgoAD3ky3F5fzs+UwKDlV5NC481PDMdacxLiXRS5WJSLBQgPvBpsIyrn8hk+KyIx6NiwgN4dmpIxg7tLuXKhORYKIA97F1+YeY+kIm+yuqPRoXGRbC3BvSOW9QvJcqE5FgowD3oZw9pUx9MZODlTUejWsXHsKLvxjJWQPivFSZiAQjBbiPrN11kBtezORQVa1H42IiQnnpxpGM7t/VS5WJSLBSgPvAqu0l3PjySsqPeBbeHSLDeOXmUZzep7OXKhORYBbidAJjTKgx5ntjzEduFNTafLd1Pze8tMLj8O7YLozXbx2t8BaR43Ic4MAdwDoX5ml1vtm0jxtfXkFldZ1H4zpHh/PmtDEM7x3rncJEpFVwFODGmF7AZcAL7pTTenyxoYibX11JVU29R+Pi2kfw1vQxpPTs5KXKRKS1cHoE/hRwN3DclDLGTDfGrDLGrCou9vyZjsFoaV4ht722mupaz8K7W4dI3p4+hiEJHb1UmYi0Ji0OcGPM5UCRtXb1ibaz1s611qZba9Pj41v/NcwZ2fn86vXVVNd5Ft6Jndrxzm1nMKBbBy9VJiKtjZOrUM4CrjTGTADaAR2NMa9ba6e6U1rweX/tHn777g/U1VuPxvWMjeLt6WPo3SXaS5WJSGvU4iNwa+291tpe1tq+wLXA5205vOet3s2d76z1OLyTukTzzm0KbxHxnK4Dd8HbK3Zy78JsrGfZTf+4GN6cNoaETu28U5iItGquBLi19kvgSzfmCjavLd/OQ+/nejxuYLf2vDFtNN06KLxFpGV0BO7AC19vZdYizy+BH5LQgTduHU3X9pFeqEpE2goFeAs9++UWnli83uNxKT078vebR9M5JsILVYlIW6IAb4G/fLaJJ5du9Hjc8N6xvHbzKDpFhXuhKhFpaxTgHrDW8uclG/nPLzZ7PDa9T2devmkkHdopvEXEHQrwZrLWMjtjPX9bttXjsWP6d+HFX4wkJlLLLSLuUaI0g7WWRz7K4+Vvt3s89uwBcTx/QzpREaHuFyYibZoC/CTq6y0Pvp/DG5k7PR57/uB4npt6Ou3CFd4i4j4F+AnU1VvuXZDFu6t2ezz24uTu/Of1pxEZpvAWEe9QgB9HbV09d83LYuH3ezweOyE1gaevPY3wUDfarYuIHJsC/Bhq6uq58521fJSV7/HYq07twZ9/MpwwhbeIeJkCvInq2np+/dYaPskt9Hjs5BG9mDMljdAQ44XKRET+mQL8KFU1ddz+xho+W1/k8djrRvXmsatTCVF4i4iPKMAbVdXUMe21VXy9aZ/HY284ow8PXzFM4S0iPqUAByqra7n11VX8Y8t+j8feenY/7r9sKMYovEXEt9p8gJcfqeXml1eyYnuJx2N/df4p3H3pYIW3iPhFmw7wQ1U13PjSCtbsPOjx2DvGDuTfLhqo8BYRv2lxgBtj2gHLgMjGeeZZa2e6VZi3Hays5oaXVpC1u9TjsXddOpjbLxjghapERJrPyRH4EeBCa225MSYc+MYYk2Gt/c6l2rympKKaqS9kkpd/yOOx908YyrRz+3uhKhERz7Q4wK21Fihv/Da88ZeHT4X0veKyI0x9IZMNhWUej334imRuPKufF6oSEfGco9sFjTGhxpi1QBGw1FqbeYxtphtjVhljVhUXFzvZnWOFh6q4du7yFoX3YxNTFN4iElAcBbi1ts5aeyrQCxhljEk5xjZzrbXp1tr0+Ph4J7tzZO/Bw/z0b8vZUlzh0ThjYM6UNH42uo+XKhMRaRlXGnZYaw/S8FT6cW7M57ZdJZX8dO5ytu+v9GhciIEnrxnONem9vVSZiEjLtTjAjTHxxpjYxq+jgIsAz5/y62U79lfw078tZ1fJYY/GhYYY/nLdaUw8rZeXKhMRccbJVSiJwKvGmFAa/iJ411r7kTtluWNLcTnXP/8dhYeOeDQuPNTwzHUjGJeS4KXKREScc3IVShZwmou1uGpjYRnXP5/JvnLPwjsiNIRnp45g7NDuXqpMRMQdrfJOzLy9h5j6YiYlFdUejYsMC+H5G9I5d5D/PmwVEWmuVhfg2btLmfpiJqWHazwaFxUeyou/SOfMAXFeqkxExF2tKsC/33mAG15aQVlVrUfjYiJCefmmUYzq18VLlYmIuK/VBPjK7SXc9PJKyo94Ft4dIsN49ZZRjEjq7KXKRES8o1UE+PIt+7nl1ZVUVtd5NK5TVDh/v2UUab1ivVOYiIgXBX2Af72pmGmvraKqpt6jcV1iIvj7LaMY1qOTlyoTEfGuoA7wL9YXcdvrq6mu9Sy849pH8satoxmc0MFLlYmIeF/QBviS3AJuf3MNNXWeNUDs1iGSN6eNYUC39l6qTETEN4IywBdl5XPH299TW+9ZePfo1I43p42hb1yMlyoTEfGdoAvw99fu4c531uJhdtOrcxRvTRtD7y7R3ilMRMTHgirA563ezV3zfsB6GN59ukbz5rQx9IyN8k5hIiJ+EDQB/taKndy3MNvj8O4fH8Nb08bQvWM77xQmIuInQRHgry3fzkPv53o8blD39rxx6xjiO0R6oSoREf8K+AB/4eutzFq0zuNxQxM78voto+jaXuEtIq1TQAf4X7/YzB8/2eDxuNSenfj7LaOIjY7wQlUiIoEhIAPcWsvTn23iqU83eTz2tKRYXrlpFJ2iwr1QmYhI4HDySLXexpgvjDHrjDG5xpg73CjIWsuflmxoUXiP7NuZv98yWuEtIm2CkyPwWuB31to1xpgOwGpjzFJrbV5LJ7TW8vjH63j+620ejz2jf1devDGd6IiA/EeFiIjrWnwEbq3Nt9auafy6DFgH9HRSzB8y1rcovM8ZGMdLN45UeItIm9LiAD+aMaYvDc/HzDzGa9ONMauMMauKi4tPOM9ZA+KICPWspAuHdOP5G9KJigj1aJyISLBzHODGmPbAfODfrLWHmr5urZ1rrU231qbHx5/4WZPnDYrn2akjCA81zdr3JcndeW7q6bQLV3iLSNvjKMCNMeE0hPcb1toFbhQ0dmh3nrluBKEhJw7xy1IT+evPRhAR5so/IkREgo6Tq1AM8CKwzlr7pHslwbiUBJ766akcL8OvPrUHT197KuEenm4REWlNnCTgWcDPgQuNMWsbf01wqS6uGN6DP18zHNMkxKec3os/X3MqYQpvEWnjWnzZhrX2G6B5J6tbaOJpvaiptdw9PwuA60cnMeuqFEJOcnpFRKQtCPjr7q4Z2Zvquno2F5Uz84pkTNNDchGRNirgAxxg6pg+/i5BRCTg6ESyiEiQUoCLiAQpYz19xI2TnRlTDOxo4fA4YJ+L5bhFdXlGdXlGdXkmUOsCZ7X1sdb+6E5Inwa4E8aYVdbadH/X0ZTq8ozq8ozq8kyg1gXeqU2nUEREgpQCXEQkSAVTgM/1dwHHobo8o7o8o7o8E6h1gRdqC5pz4CIi8s+C6QhcRESOogAXEQlSARfgxphxxpgNxpjNxpgZx3jdGGP+0vh6ljFmRIDUdb4xpvSozowP+aCml4wxRcaYnOO87q+1OlldPl+rxv2e9EHc/lizZtblj/dXO2PMCmPMD411/f4Y2/hjvZpTl1/eY437DjXGfG+M+egYr7m7XtbagPkFhAJbgP5ABPADkNxkmwlABg2dEMcAmQFS1/nARz5er3OBEUDOcV73+Vo1sy6fr1XjfhOBEY1fdwA2Bsj7qzl1+eP9ZYD2jV+H0/DIxDEBsF7Nqcsv77HGff8WePNY+3d7vQLtCHwUsNlau9VaWw28DVzVZJurgNdsg++AWGNMYgDU5XPW2mVAyQk28cdaNacuv7DNexC3z9esmXX5XOMalDd+G974q+lVD/5Yr+bU5RfGmF7AZcALx9nE1fUKtADvCew66vvd/PiN3Jxt/FEXwBmN/6zLMMYM83JNzeGPtWouv66VOf6DuP26ZieoC/ywZo2nA9YCRcBSa21ArFcz6gL/vMeeAu4G6o/zuqvrFWgBfqxm303/Zm3ONm5rzj7X0NCvYDjwDPCel2tqDn+sVXP4da3MiR/E7bc1O0ldflkza22dtfZUoBcwyhiT0mQTv6xXM+ry+XoZYy4Hiqy1q0+02TF+1uL1CrQA3w30Pur7XsDeFmzj87qstYf+95911tqPgXBjTJyX6zoZf6zVSflzrczJH8TtlzU7WV3+fn9Zaw8CXwLjmrzk1/fY8ery03qdBVxpjNlOw2nWC40xrzfZxtX1CrQAXwkMNMb0M8ZEANcCHzTZ5gPghsZPc8cApdbafH/XZYxJMKbhcUHGmFE0rO1+L9d1Mv5Yq5Py11o17vNkD+L2+Zo1py5/rJkxJt4YE9v4dRRwEbC+yWb+WK+T1uWP9bLW3mut7WWt7UtDRnxurZ3aZDNX1yugnshjra01xvwr8AkNV368ZK3NNcb8svH154CPafgkdzNQCdwUIHVNAX5ljKkFDgPX2saPnb3FGPMWDZ+2xxljdgMzafhAx29r1cy6fL5Wjf73QdzZjedPAe4Dko6qzR9r1py6/LFmicCrxphQGgLwXWvtR/7+89jMuvz1HvsRb66XbqUXEQlSgXYKRUREmkkBLiISpBTgIiJBSgEuIhKkFOAiIkFKAS4iEqQU4CIiQep/AB3lQYThcW5mAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 1) 直接在plot()函数中设置\n",
    "import matplotlib.pyplot as plt\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x,y, linewidth=10) # 设置线的粗细参数为10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.160728Z",
     "start_time": "2021-05-23T08:29:16.036194Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2) 通过获得线对象，对线对象进行设置\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "line, = plt.plot(x, y, '-')\n",
    "line.set_antialiased(False) # 关闭抗锯齿功能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.287757Z",
     "start_time": "2021-05-23T08:29:16.162728Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[None, None]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 3) 获得线属性，使用setp()函数设置\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "lines = plt.plot(x, y)\n",
    "plt.setp(lines, color='r', linewidth=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### b. 如何绘制lines\n",
    "1) 绘制直线line  \n",
    "2) errorbar绘制误差折线图  \n",
    "  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制直线line常用的方法有两种:    \n",
    "+ **pyplot方法绘制**  \n",
    "+ **Line2D对象绘制**  \n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.415785Z",
     "start_time": "2021-05-23T08:29:16.288756Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d15cd550>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 1. pyplot方法绘制\n",
    "import matplotlib.pyplot as plt\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.527324Z",
     "start_time": "2021-05-23T08:29:16.416784Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2. Line2D对象绘制\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.lines import Line2D      \n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "line = Line2D(x, y)\n",
    "ax.add_line(line)\n",
    "ax.set_xlim(min(x), max(x))\n",
    "ax.set_ylim(min(y), max(y))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**2) errorbar绘制误差折线图**  \n",
    "pyplot里有个专门绘制误差线的功能，通过`errorbar`类实现，它的构造函数： \n",
    "  \n",
    ">matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, \\*, data=None, \\**kwargs)\n",
    "  \n",
    "其中最主要的参数是前几个:  \n",
    "+ **x**：需要绘制的line中点的在x轴上的取值  \n",
    "+ **y**：需要绘制的line中点的在y轴上的取值  \n",
    "+ **yerr**：指定y轴水平的误差  \n",
    "+ **xerr**：指定x轴水平的误差   \n",
    "+ **fmt**：指定折线图中某个点的颜色，形状，线条风格，例如‘co--’  \n",
    "+ **ecolor**：指定error bar的颜色  \n",
    "+ **elinewidth**：指定error bar的线条宽度  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘制errorbar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.623411Z",
     "start_time": "2021-05-23T08:29:16.529325Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<ErrorbarContainer object of 3 artists>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "fig = plt.figure()\n",
    "x = np.arange(10)\n",
    "y = 2.5 * np.sin(x / 20 * np.pi)\n",
    "yerr = np.linspace(0.05, 0.2, 10)\n",
    "plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. patches\n",
    "matplotlib.patches.Patch类是二维图形类。它的基类是matplotlib.artist.Artist，它的构造函数：  \n",
    "详细清单见 [matplotlib.patches API](https://matplotlib.org/api/patches_api.html)  \n",
    "  \n",
    "  \n",
    "\n",
    ">Patch(edgecolor=None, facecolor=None, color=None,\n",
    "  linewidth=None, linestyle=None, antialiased=None,\n",
    "  hatch=None, fill=True, capstyle=None, joinstyle=None,\n",
    "  **kwargs)\n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### a. Rectangle-矩形\n",
    "`Rectangle`矩形类在官网中的定义是： 通过锚点xy及其宽度和高度生成。\n",
    "Rectangle本身的主要比较简单，即xy控制锚点，width和height分别控制宽和高。它的构造函数：\n",
    "\n",
    "> class matplotlib.patches.Rectangle(xy, width, height, angle=0.0, **kwargs)\n",
    "\n",
    "在实际中最常见的矩形图是**`hist直方图`和`bar条形图`**。  \n",
    "  \n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**1) hist-直方图**  \n",
    "\n",
    ">matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype='bar', align='mid', log=False, color=None, label=None, stacked=False, normed=None)\n",
    "    \n",
    "下面是一些常用的参数：  \n",
    "+ **x**: 数据集，最终的直方图将对数据集进行统计 (一维的)\n",
    "+ **bins**: 统计的区间分布\n",
    "+ **range**: tuple, 显示的区间，range在没有给出bins时生效\n",
    "+ **density**: bool，默认为false，显示的是频数统计结果，为True则显示频率统计结果，这里需要注意，频率统计结果=区间数目/(总数*区间宽度)，和normed效果一致，官方推荐使用density\n",
    "+ **histtype**: 可选{'bar', 'barstacked', 'step', 'stepfilled'}之一，默认为bar，推荐使用默认配置，step使用的是梯状，stepfilled则会对梯状内部进行填充，效果与bar类似\n",
    "+ **align**: 可选{'left', 'mid', 'right'}之一，默认为'mid'，控制柱状图的水平分布，left或者right，会有部分空白区域，推荐使用默认\n",
    "+ **log**: bool，默认False,即y坐标轴是否选择指数刻度\n",
    "+ **stacked**: bool，默认为False，是否为堆积状图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "hist绘制直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:16.766398Z",
     "start_time": "2021-05-23T08:29:16.625404Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 100.0)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np \n",
    "x=np.random.randint(0,100,100) #生成[0-100)之间的100个数据,即 数据集 \n",
    "bins=np.arange(0,101,10) #设置连续的边界值，即直方图的分布区间[0,10),[10,20)... \n",
    "plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度，0为完全透明 \n",
    "plt.xlabel('scores') \n",
    "plt.ylabel('count') \n",
    "plt.xlim(0,100)#设置x轴分布范围 plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Rectangle`矩形类绘制直方图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.129308Z",
     "start_time": "2021-05-23T08:29:16.768398Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "df:\n",
      "    data\n",
      "0     54\n",
      "1     92\n",
      "2     63\n",
      "3     94\n",
      "4     78\n",
      "..   ...\n",
      "95    97\n",
      "96    94\n",
      "97    47\n",
      "98    52\n",
      "99    38\n",
      "\n",
      "[100 rows x 1 columns]\n",
      "bins:\n",
      "[  0  10  20  30  40  50  60  70  80  90 100]\n",
      "df:\n",
      "    data      fenzu\n",
      "0     54   [50, 60)\n",
      "1     92  [90, 100)\n",
      "2     63   [60, 70)\n",
      "3     94  [90, 100)\n",
      "4     78   [70, 80)\n",
      "..   ...        ...\n",
      "95    97  [90, 100)\n",
      "96    94  [90, 100)\n",
      "97    47   [40, 50)\n",
      "98    52   [50, 60)\n",
      "99    38   [30, 40)\n",
      "\n",
      "[100 rows x 2 columns]\n",
      "df_cnt:\n",
      "       index  fenzu  mini  maxi  width\n",
      "0    [0, 10)     11     0    10     10\n",
      "1   [10, 20)     12    10    20     10\n",
      "2   [20, 30)      8    20    30     10\n",
      "3   [30, 40)      8    30    40     10\n",
      "4   [40, 50)      8    40    50     10\n",
      "5   [50, 60)     10    50    60     10\n",
      "6   [60, 70)     11    60    70     10\n",
      "7   [70, 80)     12    70    80     10\n",
      "8   [80, 90)      8    80    90     10\n",
      "9  [90, 100)     12    90   100     10\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import re\n",
    "df = pd.DataFrame(columns = ['data'])\n",
    "df.loc[:,'data'] = x\n",
    "print(\"df:\")\n",
    "print(df)\n",
    "df['fenzu'] = pd.cut(df['data'], bins=bins, right = False,include_lowest=True)\n",
    "print(\"bins:\")\n",
    "print(bins)\n",
    "print(\"df:\")\n",
    "print(df)\n",
    "\n",
    "df_cnt = df['fenzu'].value_counts().reset_index()\n",
    "df_cnt.loc[:,'mini'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\[(.*)\\,',x)[0]).astype(int)\n",
    "df_cnt.loc[:,'maxi'] = df_cnt['index'].astype(str).map(lambda x:re.findall('\\,(.*)\\)',x)[0]).astype(int)\n",
    "df_cnt.loc[:,'width'] = df_cnt['maxi']- df_cnt['mini']\n",
    "df_cnt.sort_values('mini',ascending = True,inplace = True)\n",
    "df_cnt.reset_index(inplace = True,drop = True)\n",
    "print(\"df_cnt:\")\n",
    "print(df_cnt)\n",
    "\n",
    "#用Rectangle把hist绘制出来\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "\n",
    "for i in df_cnt.index:\n",
    "    rect =  plt.Rectangle((df_cnt.loc[i,'mini'],0),df_cnt.loc[i,'width'],df_cnt.loc[i,'fenzu'])\n",
    "    ax1.add_patch(rect)\n",
    "\n",
    "ax1.set_xlim(0, 100)\n",
    "ax1.set_ylim(0, 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**2) bar-柱状图**   \n",
    "  \n",
    ">matplotlib.pyplot.bar(left, height, alpha=1, width=0.8, color=, edgecolor=, label=, lw=3)\n",
    "  \n",
    "下面是一些常用的参数：    \n",
    "+ **left**：x轴的位置序列，一般采用range函数产生一个序列，但是有时候可以是字符串  \n",
    "+ **height**：y轴的数值序列，也就是柱形图的高度，一般就是我们需要展示的数据；  \n",
    "+ **alpha**：透明度，值越小越透明  \n",
    "+ **width**：为柱形图的宽度，一般这是为0.8即可；  \n",
    "+ **color或facecolor**：柱形图填充的颜色；  \n",
    "+ **edgecolor**：图形边缘颜色   \n",
    "+ **label**：解释每个图像代表的含义，这个参数是为legend()函数做铺垫的，表示该次bar的标签      \n",
    "  \n",
    "   \n",
    "有两种方式绘制柱状图\n",
    "+ bar绘制柱状图  \n",
    "+ `Rectangle`矩形类绘制柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.257348Z",
     "start_time": "2021-05-23T08:29:17.131294Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 16 artists>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# bar绘制柱状图\n",
    "import matplotlib.pyplot as plt\n",
    "y = range(1,17)\n",
    "plt.bar(np.arange(16), y, alpha=0.5, width=0.5, color='yellow', edgecolor='red', label='The First Bar', lw=3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.385378Z",
     "start_time": "2021-05-23T08:29:17.258358Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAO4ElEQVR4nO3db4xldX3H8fenrEQXMWAY/MMyWTCyVAkWO7Yo0VaQZqsEfOADSDHbSjOJqYhGqxCS8qgNUeKfxEYzkXVJJGsN4p/Y1LJBLWmCKLuCLK6KUYqD6EJIq9FWJH77YC7tOszs3DnnzNyZn+9Xspl7zj33nk9mZz7zu+ee87upKiRJbfm9SQeQJA3PcpekBlnuktQgy12SGmS5S1KDLHdJatCK5Z5kd5LDSQ4uWn9lku8muT/J+9YuoiRptcYZue8Bdh65IslrgUuAs6vqpcANw0eTJHW1YrlX1R3A44tWvxW4vqp+Ndrm8BpkkyR1tKXj484AXp3k74H/Ad5dVd9YasMks8AswHHHHfeHZ555ZsddStLvpv379z9WVVOreUzXct8CnAicC7wC+HSS02uJuQyqag6YA5iZmam777674y4l6XdTkv9Y7WO6ni0zD9xaC74O/AY4qeNzSZIG1rXcPwecD5DkDOBY4LGBMkmSelrxsEySvcCfAiclmQeuA3YDu0enRz4B7FrqkIwkaTJWLPequmyZuy4fOIskaSBeoSpJDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqUNeJwyRJY9p+9T+Pve2D179hkH06cpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAatWO5Jdic5PPq81MX3vTtJJTlpbeJJkroYZ+S+B9i5eGWSU4ELgYcGziRJ6mnFcq+qO4DHl7jrg8B7gBo6lCSpn07H3JNcDDxcVfcOnEeSNIBVzwqZZCtwLfBnY24/C8wCTE9Pr3Z3krSuJjGD41roMnJ/EXAacG+SB4FtwIEkz19q46qaq6qZqpqZmprqnlSSNLZVj9yr6j7g5KeWRwU/U1WPDZhLktTDOKdC7gXuBHYkmU9yxdrHkiT1seLIvaouW+H+7YOlkSQNwitUJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ1a9fQDkrRRtDLJ11pw5C5JDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQeN8QPbuJIeTHDxi3fuTfCfJt5J8NskJa5pSkrQq44zc9wA7F63bB5xVVWcD3wOuGTiXJKmHFcu9qu4AHl+07raqenK0+DVg2xpkkyR1NMSskG8B/mm5O5PMArMA09PTA+xO0mbkDI7rq9cbqkmuBZ4Ebl5um6qaq6qZqpqZmprqsztJ0pg6j9yT7AIuAi6oqhoukiSpr07lnmQn8F7gT6rql8NGkiT1Nc6pkHuBO4EdSeaTXAF8BDge2JfkniQfW+OckqRVWHHkXlWXLbH6xjXIIkkaiFeoSlKDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAZZ7pLUoCEmDpPUGCf52vwcuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lq0Difobo7yeEkB49Y99wk+5I8MPp64trGlCStxjgj9z3AzkXrrgZur6oXA7ePliVJG8SK5V5VdwCPL1p9CXDT6PZNwBuHjSVJ6qPrrJDPq6pHAKrqkSQnL7dhkllgFmB6errj7iQtxxkctZQ1f0O1quaqaqaqZqamptZ6d5Ikupf7T5O8AGD09fBwkSRJfXUt9y8Au0a3dwGfHyaOJGkI45wKuRe4E9iRZD7JFcD1wIVJHgAuHC1LkjaIFd9QrarLlrnrgoGzSJIG4hWqktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qOvEYZI6GneiLyf5Uh+O3CWpQZa7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qFe5J3lnkvuTHEyyN8kzhwomSequc7knOQV4OzBTVWcBxwCXDhVMktRd38MyW4BnJdkCbAV+3D+SJKmvzrNCVtXDSW4AHgL+G7itqm5bvF2SWWAWYHp6uuvupIlwBkdtVn0Oy5wIXAKcBrwQOC7J5Yu3q6q5qpqpqpmpqanuSSVJY+tzWOZ1wA+r6tGq+jVwK/CqYWJJkvroU+4PAecm2ZokwAXAoWFiSZL66FzuVXUXcAtwALhv9FxzA+WSJPXQ62P2quo64LqBskiSBuIVqpLUIMtdkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG9bqISdpInMFR+n+O3CWpQZa7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUG9yj3JCUluSfKdJIeSvHKoYJKk7vpOP/Bh4EtV9aYkxwJbB8gkSeqpc7kneQ7wGuAvAarqCeCJYWJJkvroM3I/HXgU+ESSlwH7gauq6hdHbpRkFpgFmJ6e7rE7tcRJvqS11eeY+xbg5cBHq+oc4BfA1Ys3qqq5qpqpqpmpqakeu5MkjatPuc8D81V112j5FhbKXpI0YZ3Lvap+AvwoyY7RqguAbw+SSpLUS9+zZa4Ebh6dKfMD4K/6R5Ik9dWr3KvqHmBmmCiSpKF4haokNchyl6QGWe6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQX2vUNXvAGdwlDYfR+6S1CDLXZIaZLlLUoMsd0lqkOUuSQ2y3CWpQZa7JDXIcpekBlnuktSg3uWe5Jgk30zyxSECSZL6G2LkfhVwaIDnkSQNpFe5J9kGvAH4+DBxJElD6Dtx2IeA9wDHL7dBkllgFmB6errn7rQSJ/mSBD1G7kkuAg5X1f6jbVdVc1U1U1UzU1NTXXcnSVqFPodlzgMuTvIg8Cng/CSfHCSVJKmXzuVeVddU1baq2g5cCny5qi4fLJkkqTPPc5ekBg3ySUxV9VXgq0M8lySpP0fuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAYNchGTunEGR0lrxZG7JDXIcpekBlnuktQgy12SGmS5S1KDLHdJapDlLkkNstwlqUGWuyQ1qHO5Jzk1yVeSHEpyf5KrhgwmSequz/QDTwLvqqoDSY4H9ifZV1XfHiibJKmjziP3qnqkqg6Mbv8cOAScMlQwSVJ3gxxzT7IdOAe4a4jnkyT103tWyCTPBj4DvKOqfrbE/bPALMD09HTf3U2MMzhK2kx6jdyTPIOFYr+5qm5dapuqmquqmaqamZqa6rM7SdKY+pwtE+BG4FBVfWC4SJKkvvqM3M8D3gycn+Se0b/XD5RLktRD52PuVfXvQAbMIkkaiFeoSlKDLHdJapDlLkkNstwlqUGWuyQ1yHKXpAZZ7pLUIMtdkhrUe+KwjWjcSb7Aib4ktcmRuyQ1yHKXpAZZ7pLUIMtdkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG9Sr3JDuTfDfJ95NcPVQoSVI/ncs9yTHAPwJ/DrwEuCzJS4YKJknqrs/I/Y+A71fVD6rqCeBTwCXDxJIk9ZGq6vbA5E3Azqr669Hym4E/rqq3LdpuFpgdLZ4FHOwed92cBDw26RBjMOdwNkNGMOfQNkvOHVV1/Goe0GfK3yyx7ml/KapqDpgDSHJ3Vc302Oe6MOewNkPOzZARzDm0zZRztY/pc1hmHjj1iOVtwI97PJ8kaSB9yv0bwIuTnJbkWOBS4AvDxJIk9dH5sExVPZnkbcC/AscAu6vq/hUeNtd1f+vMnMPaDDk3Q0Yw59Cazdn5DVVJ0sblFaqS1CDLXZIatC7lvhmmKUhyapKvJDmU5P4kV00609EkOSbJN5N8cdJZlpPkhCS3JPnO6Pv6yklnWkqSd47+zw8m2ZvkmZPOBJBkd5LDSQ4ese65SfYleWD09cRJZhxlWirn+0f/799K8tkkJ0ww4lOZnpbziPvenaSSnDSJbEfkWDJjkitHHXp/kveN81xrXu6baJqCJ4F3VdXvA+cCf7NBcz7lKuDQpEOs4MPAl6rqTOBlbMC8SU4B3g7MVNVZLJwccOlkU/2fPcDOReuuBm6vqhcDt4+WJ20PT8+5Dzirqs4Gvgdcs96hlrCHp+ckyanAhcBD6x1oCXtYlDHJa1m4+v/sqnopcMM4T7QeI/dNMU1BVT1SVQdGt3/OQhGdMtlUS0uyDXgD8PFJZ1lOkucArwFuBKiqJ6rqPycaanlbgGcl2QJsZYNcr1FVdwCPL1p9CXDT6PZNwBvXM9NSlspZVbdV1ZOjxa+xcB3MRC3z/QT4IPAelrgIc70tk/GtwPVV9avRNofHea71KPdTgB8dsTzPBi3NpyTZDpwD3DXhKMv5EAs/jL+ZcI6jOR14FPjE6PDRx5McN+lQi1XVwyyMhB4CHgH+q6pum2yqo3peVT0CCwMS4OQJ5xnHW4B/mXSIpSS5GHi4qu6ddJajOAN4dZK7kvxbkleM86D1KPexpinYKJI8G/gM8I6q+tmk8yyW5CLgcFXtn3SWFWwBXg58tKrOAX7BxjiE8FtGx6wvAU4DXggcl+TyyaZqR5JrWTjkefOksyyWZCtwLfB3k86ygi3AiSwcLv5b4NNJlurV37Ie5b5ppilI8gwWiv3mqrp10nmWcR5wcZIHWTjEdX6ST0420pLmgfmqeurVzy0slP1G8zrgh1X1aFX9GrgVeNWEMx3NT5O8AGD0dayX6JOQZBdwEfAXtTEvqHkRC3/U7x39Pm0DDiR5/kRTPd08cGst+DoLr9hXfON3Pcp9U0xTMPpLeCNwqKo+MOk8y6mqa6pqW1VtZ+F7+eWq2nAjzar6CfCjJDtGqy4Avj3BSMt5CDg3ydbRz8AFbMA3fo/wBWDX6PYu4PMTzLKsJDuB9wIXV9UvJ51nKVV1X1WdXFXbR79P88DLRz+7G8nngPMBkpwBHMsYM1muebmP3lR5apqCQ8Cnx5imYBLOA97Mwkj4ntG/10861CZ3JXBzkm8BfwD8w2TjPN3olcUtwAHgPhZ+JzbEJelJ9gJ3AjuSzCe5ArgeuDDJAyyc4XH9JDPCsjk/AhwP7Bv9Ln1soiFZNueGskzG3cDpo9MjPwXsGueVkNMPSFKDvEJVkhpkuUtSgyx3SWqQ5S5JDbLcJalBlrskNchyl6QG/S+Vr7lMxW37agAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Rectangle矩形类绘制柱状图\n",
    "#import matplotlib.pyplot as plt\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "\n",
    "for i in range(1,17):\n",
    "    rect =  plt.Rectangle((i+0.25,0),0.5,i)\n",
    "    ax1.add_patch(rect)\n",
    "ax1.set_xlim(0, 16)\n",
    "ax1.set_ylim(0, 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### b. Polygon-多边形\n",
    "matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch，它的构造函数：\n",
    "  \n",
    ">class matplotlib.patches.Polygon(xy, closed=True, **kwargs)  \n",
    "  \n",
    "xy是一个N×2的numpy array，为多边形的顶点。  \n",
    "closed为True则指定多边形将起点和终点重合从而显式关闭多边形。  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.patches.Polygon类中常用的是fill类，它是基于xy绘制一个填充的多边形，它的定义：\n",
    "\n",
    ">matplotlib.pyplot.fill(*args, data=None, **kwargs)\n",
    "\n",
    "参数说明 : 关于x、y和color的序列，其中color是可选的参数，每个多边形都是由其节点的x和y位置列表定义的，后面可以选择一个颜色说明符。您可以通过提供多个x、y、[颜色]组来绘制多个多边形。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.511490Z",
     "start_time": "2021-05-23T08:29:17.387390Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.patches.Polygon at 0x2a4d35b0850>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 用fill来绘制图形\n",
    "import matplotlib.pyplot as plt\n",
    "x = np.linspace(0, 5 * np.pi, 1000) \n",
    "y1 = np.sin(x)\n",
    "y2 = np.sin(2 * x) \n",
    "plt.fill(x, y1, color = \"g\", alpha = 0.3)\n",
    "# plt.fill(x, y1, y2, color = \"g\", alpha = 0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### c. Wedge-契形\n",
    "matplotlib.patches.Polygon类是多边形类。其基类是matplotlib.patches.Patch，它的构造函数：\n",
    "\n",
    ">class matplotlib.patches.Wedge(center, r, theta1, theta2, width=None, **kwargs)  \n",
    "  \n",
    "一个Wedge-契形 是以坐标x,y为中心，半径为r，从θ1扫到θ2(单位是度)。  \n",
    "如果宽度给定，则从内半径r -宽度到外半径r画出部分楔形。wedge中比较常见的是绘制饼状图。  \n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.pyplot.pie语法：  \n",
    ">matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, rotatelabels=False, *, normalize=None, data=None)\n",
    "  \n",
    "制作数据x的饼图，每个楔子的面积用x/sum(x)表示。    \n",
    "其中最主要的参数是前4个：  \n",
    "+ **x**：契型的形状，一维数组。\n",
    "+ **explode**：如果不是等于None，则是一个len(x)数组，它指定用于偏移每个楔形块的半径的分数。  \n",
    "+ **labels**：用于指定每个契型块的标记，取值是列表或为None。  \n",
    "+ **colors**：饼图循环使用的颜色序列。如果取值为None，将使用当前活动循环中的颜色。  \n",
    "+ **startangle**：饼状图开始的绘制的角度。   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "pie绘制饼状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.607540Z",
     "start_time": "2021-05-23T08:29:17.513509Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'\n",
    "sizes = [15, 30, 45, 10] \n",
    "explode = (0, 0.1, 0, 0) \n",
    "fig1, ax1 = plt.subplots() \n",
    "ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90) \n",
    "ax1.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle. \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "wedge绘制饼图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.703570Z",
     "start_time": "2021-05-23T08:29:17.608560Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "from matplotlib.patches import Circle, Wedge\n",
    "from matplotlib.collections import PatchCollection\n",
    "\n",
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(111)\n",
    "theta1 = 0\n",
    "sizes = [15, 30, 45, 10] \n",
    "patches = []\n",
    "patches += [\n",
    "    Wedge((0.3, 0.3), .2, 0, 54),             # Full circle\n",
    "    Wedge((0.3, 0.3), .2, 54, 162),  # Full ring\n",
    "    Wedge((0.3, 0.3), .2, 162, 324),              # Full sector\n",
    "    Wedge((0.3, 0.3), .2, 324, 360),  # Ring sector\n",
    "]\n",
    "colors = 100 * np.random.rand(len(patches))\n",
    "p = PatchCollection(patches, alpha=0.4)\n",
    "p.set_array(colors)\n",
    "ax1.add_collection(p)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. collections\n",
    "collections类是用来绘制一组对象的集合，collections有许多不同的子类，如RegularPolyCollection, CircleCollection, Pathcollection, 分别对应不同的集合子类型。其中比较常用的就是散点图，它是属于PathCollection子类，scatter方法提供了该类的封装，根据x与y绘制不同大小或颜色标记的散点图。 它的构造方法：\n",
    "  \n",
    ">Axes.scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)\n",
    "      \n",
    "      \n",
    "其中最主要的参数是前5个：  \n",
    "+ **x**：数据点x轴的位置  \n",
    "+ **y**：数据点y轴的位置  \n",
    "+ **s**：尺寸大小  \n",
    "+ **c**：可以是单个颜色格式的字符串，也可以是一系列颜色  \n",
    "+ **marker**: 标记的类型  \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:17.799637Z",
     "start_time": "2021-05-23T08:29:17.705561Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 用scatter绘制散点图\n",
    "x = [0,2,4,6,8,10] \n",
    "y = [10]*len(x) \n",
    "s = [20*2**n for n in range(len(x))] \n",
    "plt.scatter(x,y,s=s) \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. images\n",
    "images是matplotlib中绘制image图像的类，其中最常用的imshow可以根据数组绘制成图像，它的构造函数：\n",
    ">class matplotlib.image.AxesImage(ax, cmap=None, norm=None, interpolation=None, origin=None, extent=None, filternorm=True, filterrad=4.0, resample=False, **kwargs)\n",
    "  \n",
    "imshow根据数组绘制图像\n",
    ">matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=<deprecated parameter>, filternorm=1, filterrad=4.0, imlim=<deprecated parameter>, resample=None, url=None, *, data=None, **kwargs）\n",
    "\n",
    "使用imshow画图时首先需要传入一个数组，数组对应的是空间内的像素位置和像素点的值，interpolation参数可以设置不同的差值方法，具体效果如下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.406235Z",
     "start_time": "2021-05-23T08:29:17.801624Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 648x432 with 18 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16',\n",
    "           'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',\n",
    "           'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']\n",
    "\n",
    "\n",
    "grid = np.random.rand(4, 4)\n",
    "\n",
    "fig, axs = plt.subplots(nrows=3, ncols=6, figsize=(9, 6),\n",
    "                        subplot_kw={'xticks': [], 'yticks': []})\n",
    "\n",
    "for ax, interp_method in zip(axs.flat, methods):\n",
    "    ax.imshow(grid, interpolation=interp_method, cmap='viridis')\n",
    "    ax.set_title(str(interp_method))\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 三、对象容器 - Object container\n",
    "容器会包含一些`primitives`，并且容器还有它自身的属性。  \n",
    "比如`Axes Artist`，它是一种容器，它包含了很多`primitives`，比如`Line2D`，`Text`；同时，它也有自身的属性，比如`xscal`，用来控制X轴是`linear`还是`log`的。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Figure容器\n",
    "`matplotlib.figure.Figure`是`Artist`最顶层的`container`-对象容器，它包含了图表中的所有元素。一张图表的背景就是在`Figure.patch`的一个矩形`Rectangle`。  \n",
    "当我们向图表添加`Figure.add_subplot()`或者`Figure.add_axes()`元素时，这些都会被添加到`Figure.axes`列表中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.548550Z",
     "start_time": "2021-05-23T08:29:18.408222Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AxesSubplot(0.125,0.536818;0.775x0.343182)\n",
      "[<AxesSubplot:>, <Axes:>]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211) # 作一幅2*1的图，选择第1个子图\n",
    "ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3]) # 位置参数，四个数分别代表了(left,bottom,width,height)\n",
    "print(ax1) \n",
    "print(fig.axes) # fig.axes 中包含了subplot和axes两个实例, 刚刚添加的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于`Figure`维持了`current axes`，因此你不应该手动的从`Figure.axes`列表中添加删除元素，而是要通过`Figure.add_subplot()`、`Figure.add_axes()`来添加元素，通过`Figure.delaxes()`来删除元素。但是你可以迭代或者访问`Figure.axes`中的`Axes`，然后修改这个`Axes`的属性。   \n",
    "  \n",
    "比如下面的遍历axes里的内容，并且添加网格线："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.644260Z",
     "start_time": "2021-05-23T08:29:18.550540Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211)\n",
    "\n",
    "for ax in fig.axes:\n",
    "    ax.grid(True)\n",
    "    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Figure`也有它自己的`text、line、patch、image`。你可以直接通过`add primitive`语句直接添加。但是注意`Figure`默认的坐标系是以像素为单位，你可能需要转换成figure坐标系：(0,0)表示左下点，(1,1)表示右上点。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Figure容器的常见属性：**  \n",
    "`Figure.patch`属性：Figure的背景矩形  \n",
    "`Figure.axes`属性：一个Axes实例的列表（包括Subplot)  \n",
    "`Figure.images`属性：一个FigureImages patch列表  \n",
    "`Figure.lines`属性：一个Line2D实例的列表（很少使用）  \n",
    "`Figure.legends`属性：一个Figure Legend实例列表（不同于Axes.legends)  \n",
    "`Figure.texts`属性：一个Figure Text实例列表  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Axes容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axes.Axes`是matplotlib的核心。大量的用于绘图的`Artist`存放在它内部，并且它有许多辅助方法来创建和添加`Artist`给它自己，而且它也有许多赋值方法来访问和修改这些`Artist`。  \n",
    "  \n",
    "和`Figure`容器类似，`Axes`包含了一个patch属性，对于笛卡尔坐标系而言，它是一个`Rectangle`；对于极坐标而言，它是一个`Circle`。这个patch属性决定了绘图区域的形状、背景和边框。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.740285Z",
     "start_time": "2021-05-23T08:29:18.646261Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "rect = ax.patch  # axes的patch是一个Rectangle实例\n",
    "rect.set_facecolor('green')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Axes`有许多方法用于绘图，如`.plot()、.text()、.hist()、.imshow()`等方法用于创建大多数常见的`primitive`(如`Line2D，Rectangle，Text，Image`等等）。在`primitives`中已经涉及，不再赘述。   \n",
    "  \n",
    "Subplot就是一个特殊的Axes，其实例是位于网格中某个区域的Subplot实例。其实你也可以在任意区域创建Axes，通过Figure.add_axes([left,bottom,width,height])来创建一个任意区域的Axes，其中left,bottom,width,height都是[0—1]之间的浮点数，他们代表了相对于Figure的坐标。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "你不应该直接通过`Axes.lines`和`Axes.patches`列表来添加图表。因为当创建或添加一个对象到图表中时，`Axes`会做许多自动化的工作:  \n",
    "它会设置Artist中figure和axes的属性，同时默认Axes的转换；  \n",
    "它也会检视Artist中的数据，来更新数据结构，这样数据范围和呈现方式可以根据作图范围自动调整。  \n",
    "  \n",
    "你也可以使用Axes的辅助方法`.add_line()`和`.add_patch()`方法来直接添加。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "另外Axes还包含两个最重要的Artist container：\n",
    "\n",
    "`ax.xaxis`：XAxis对象的实例，用于处理x轴tick以及label的绘制  \n",
    "`ax.yaxis`：YAxis对象的实例，用于处理y轴tick以及label的绘制  \n",
    "会在下面章节详细说明。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Axes容器**的常见属性有：  \n",
    "`artists`:    Artist实例列表\n",
    "`patch`:     Axes所在的矩形实例\n",
    "`collections`: Collection实例\n",
    "`images`:    Axes图像\n",
    "`legends`:\t  Legend 实例\n",
    "`lines`:\t  Line2D 实例\n",
    "`patches`:\t  Patch 实例\n",
    "`texts`:\t  Text 实例\n",
    "`xaxis`:\t  matplotlib.axis.XAxis 实例\n",
    "`yaxis`:\t  matplotlib.axis.YAxis 实例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. Axis容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axis.Axis`实例处理`tick line`、`grid line`、`tick label`以及`axis label`的绘制，它包括坐标轴上的刻度线、刻度`label`、坐标网格、坐标轴标题。通常你可以独立的配置y轴的左边刻度以及右边的刻度，也可以独立地配置x轴的上边刻度以及下边的刻度。\n",
    "\n",
    "刻度包括主刻度和次刻度，它们都是Tick刻度对象。  \n",
    "  \n",
    "`Axis`也存储了用于自适应，平移以及缩放的`data_interval`和`view_interval`。它还有Locator实例和Formatter实例用于控制刻度线的位置以及刻度label。\n",
    "\n",
    "每个Axis都有一个`label`属性，也有主刻度列表和次刻度列表。这些`ticks`是`axis.XTick`和`axis.YTick`实例，它们包含着`line primitive`以及`text primitive`用来渲染刻度线以及刻度文本。\n",
    "\n",
    "刻度是动态创建的，只有在需要创建的时候才创建（比如缩放的时候）。Axis也提供了一些辅助方法来获取刻度文本、刻度线位置等等：  \n",
    "常见的如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.867939Z",
     "start_time": "2021-05-23T08:29:18.741276Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.2,  4.2])"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 不用print，直接显示结果\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "x = range(0,5)\n",
    "y = [2,5,7,8,10]\n",
    "plt.plot(x, y, '-')\n",
    "\n",
    "axis = ax.xaxis # axis为X轴对象\n",
    "axis.get_ticklocs()     # 获取刻度线位置\n",
    "axis.get_ticklabels()   # 获取刻度label列表(一个Text实例的列表）。 可以通过minor=True|False关键字参数控制输出minor还是major的tick label。\n",
    "axis.get_ticklines()    # 获取刻度线列表(一个Line2D实例的列表）。 可以通过minor=True|False关键字参数控制输出minor还是major的tick line。\n",
    "axis.get_data_interval()# 获取轴刻度间隔\n",
    "axis.get_view_interval()# 获取轴视角（位置）的间隔"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面的例子展示了如何调整一些轴和刻度的属性(忽略美观度，仅作调整参考)：  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:18.963976Z",
     "start_time": "2021-05-23T08:29:18.868934Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOAAAACpCAYAAAAyejFFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAUAElEQVR4nO3dfZxOdf7H8df3nCH3Y9wMGiZ32YZE0xTWEpHdybhLobCyok1uklKr0pZI9mdDcn8T4odlt3WTqWQ3tEtsIs2GKTcRMW7HzJiZ65zv748z1zAaZphzXWe6fp/n49HDuK7jOp/Odd7n5nvO+YzKytqtEUJ4wvC6ACH+P5MACuEhCaAQHpIACuEhCaAQHpIACuGhAgM4cOAYoqLupWnTbvm+r7VmxIgJxMR0JDa2Ozt3JrlepBChqsAA/va3nVm7dsZV309M3EJy8iGSktYyY8YYhgx53dUChQhlBQawVas4IiLCr/r+mjX/oHfvTiilaNasCWfPpnLs2ElXixQiVKn87oQpWfKOgM84K2t3wOchRHEX5tWMwyu2IDyislezF+K6ZV88z7Fjm1z9zHwDeOXe6eDBo3TtOoQvv/zbT6YdPPg1WreOo1evBwBo1KgTGzbMp0aNqteccXSdBPoNffFG6xYi6D5eMcX1zyzyZYiEhDYsWbIGrTXbtu0iPLx8geETQjgKPATt02cUmzbtICXlLHXqtGfMmMFkZ/sAGDSoB/HxrUhM3ExMTEdKly7F3LljA160EKGiwAC+997Ea76vlGLqVDmUFOJGyJ0wQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhwoVwA8/3EKjRp2IienIxInzfvL+uXOpdO06hLvueogmTbqxcOH7btcpREgqMICWZTF8+HjWrJnBrl3vs3z5epKSvs0zzYwZy4iJqcd//rOSDRvmMWrU/5CVlR2wooUIFQUGcPv2PdSrF03dujUpWbIEPXr8hjVr/pFnGqUUFy6kobXmwoV0KlUKJyzMDFjRQoSKfJ+Iz68t4ZWvvfzy1J9MM2vWityfS5Vqes0ZV4+KLkx9QoQ0GYQRwkP5BjAra3fuf5s2Leb++3+Z+/exY4cxduywPNPEx7di48YFuX9v0+ZuPvtsSZ5prvxPCFGIPWBcXCOSkw9x4MARsrKyWbEikYSENnmmqVWrOhs3bgPgxx9PsW/fIerUqRmQgoUIJQV2RQsLC2Py5NF07Pgktm3Rr19XGjWqz+zZzvneoEE9GD36CR5//GXuvPNBtNaMG/c0VapEBLx4IX7u8v3dEMEgnbHFz83HK6awdesyVz9TBmGE8JAEUAgPSQCF8JAEUAgPSQCF8JAEUAgPSQCF8JAEUAgPSQCF8JAEUAgPSQCF8JAEUAgPSQCF8JAEUAgPudKWEODTT7cTF/cwTZp0o127/q4WKUSoKvCBXH9bwg8+mE3NmtVo0eIREhLa0LBhvdxpzp49z9Ch41i7dgbR0TU4ceJUQIsWIlS40pZw2bIP6Nq1HdHRNQCIjKwcmGqFCDGutiWcMGFOoWcsbQmFkEEYITyV7x7w8raBW7fuYuzYGaxbNxOAN9+cC8Dzzz+eO83EifO4eDGTMWMGAzBo0Ct06NCShx7qcNUZR9dJKHr1QvzMudKWsFOntnz22Rf4fD7S0zP4/PPd3HZbnUDVLETIcKUtYUxMXTp0aEls7EMYhuJ3v3uQ22+/NeDFC/FzJ20JhSgkaUsoRIiRAArhIQmgEB6SAArhIQmgEB6SAArhIQmgEB6SAArhIQmgEB6SAArhIQmgEB6SAArhIQmgEB6SAArhIdfaEgLs2LGHUqWasmrVR64VKEQoKzCA/raEa9bMYNeu91m+fD1JSd/mO93o0W/RocMvA1KoEKHIlbaEAO+8s5Ru3e6natVKASlUiFDkaltCv8WLVxc4Y2lLKIQMwgjhKVfaEjZo8Bt0TmeZlJQzlClTiunTX6FLl/uuOmNpSyhEIbqiXd6WMCqqGitWJLJo0YQ80+zbl5j784ABL/HAA62vGT4hhMOVtoRCiBsjbQmFKCRpSyhEiJEACuEhCaAQHpIACuEhCaAQHpIACuEhCaAQHpIACuEhCaAQHpIACuEhCaAQHpIACuEhCaAQHpIACuEhV9oSLl26jtjY7sTGdqd1677s2rXX9UKFCEWutCWsUyeKTz5ZwBdfrGL06EEMHvxqwAoWIpS40pawRYumRERUAKBZsyYcPXoiMNUKEWIC0pbwap9xOWlLKIQMwgjhKVfaEgLs3r2PHj2eZvXq6TRoULvAGUtbQiEKsQe8vC1hVlY2K1YkkpDQJs80hw8fo2fPESxYML5Q4RNCOFxpSzhu3ExOnTrL0KHjcv6N6Xr3KCFCkbQlFKKQpC2hECFGAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEhySAQnhIAiiEh1xpS6i1ZsSICcTEdCQ2tjs7dya5XqgQociVtoSJiVtITj5EUtJaZswYw5AhrwesYCFCiSttCdes+Qe9e3dCKUWzZk04ezaVY8dOBqxoIUJFvk/EF9RS0A3Vo6LliXjxsxKIJ+IL7AkTKKlnT/LxiilezT6PlJQzVKkS4XUZxaYOKD61FJc6APbuPeD6Z7rSlnDw4Ndo3TqOXr0eAKBRo05s2DCfGjWqXnXGzZv3KjaNm4pLLcWlDig+tRSXOsCpxW2utCVMSGjDkiVr0FqzbdsuwsPLXzN8QgiHK20J4+NbkZi4mZiYjpQuXYq5c8cGvHAhQkGhzgHj41sRH98qz2uDBvXI/VkpxdSp1zeg8vjjD13X9IFUXGopLnVA8amluNQBganFs76gQgi5FU0IT0kAhfCQBFAID0kAizPb9nb+lgWZWd7WkB+vl4uLvAug1pCd7fzpF0IL9oalpaNWfeT8bBjeLZML6RjPvInxzlJIS/emBr+sbNizH7V5B5w45e1yuZIu2himN7eiXUjHHDEBDh2FLB+6WWPsp3pDdI3g15KegTFlMWpPMmRcxO7aDt21HVQoF/xasrIJu7cffJ2MfTwF+6lHL61sRhC3lalphLXsja5SETvudihRInjzzqcWs/dzqP2H4PAxqFYZ36qpcGeMs/IrFbxasrPhh5OQmgZR1SCiQpHnH/zLEGnphN3TEx1RAd28CerAUdTOJEjLwJr3Ojq+FZhmcGpJTSPsvv5o04Dwcqjvf4QTp7CH98UeNQBuKhmcOvz2HyKs5aNQJQLCwrAf7449rK/zXrBCmJ2N2W0o2Bpr6otQJ+qn30ewVvy0dMJ+1QddNQJ7wENwMRNj1gpUWga+Le9B+bKBr8EvNQ2z6xDU8RRIPgyNG2C3b449YWSRPjboe0Bj2lIoVwZrxVtwcyQAavMOjEnvYvYehTV1NLp3AoQFuLSLmZgPDkNXqYg17WWoVwsAs8tTGPNXYQ9+JPgBvPUWdKs4KHUTpJzGmLwIlMIe2scJXzBW/OOnUCdOY734e7ilhhO+XXtRyYdQKWew770HbqsT2BoAtMYYOwNdvizWrFehTk3n5bQM1FsLoWQQ98oXMwlr1x9duSLW2GFQ6iaMlR9iTF+G2rUX6+2XoH70DX108A9Bfzjh/FkpPPcl3SoOq3ZNzBcnYw4bj1WhHLpb+4Bu9dWKRNTpc1hT/pAbPgBr/AjCYrujNm5DP/zrgMw7X5blrOyRldBVIrD/9Czmb1/AmLIYbI09vK8TvmMnIYD32ar9B2FPMvquhlCiBGrVR5jDnN98TGo6hlLYL/0eu29nqF4lYHWgFOq/3zlHAzWr5W58dIPa6JsjMd6YA6fOoDvfh27RFMqVCVwpW76A1DSs2a9B09sAsJo3QcW3xnzuT5j9R2PNex1u4NezB+/Ewn+yqhSkZVzagvl8zp+1qmONexrdrjnmwDHw3ZHAHXL5fKiTp9H1o9F3N877XmQlKFMKdeZcYOZ9NTmHeXZ8a4y/b4SbI7EmPouuHYUxbQnGjGWYA8dgzPlLQAdFdGRlqBqBOngUtWMP5oCXsAf2wLd2JtbGBehHO2L8cRrGXxKdfxCowRDbhvMX4OTpS6+lpWMOH4/64QQqcTNq+x7MhCedgaKs7CIPiFxVahqcOA0lwi7VVikc/WB7rPmvo74/jjn09Uvzv446ghfAnEMnu18X+O4IxivTnNfDwpytP0Ct6tjPD4AqFTHHz7r0utvCwrC7tMN6c6RzmOlfiSwLwss7W/bUNOe1QH2pVxMVCafOwP5DENsQa8podJ0ojJemoBb9Hd2hJZQtE7gVv0FtKH0TxszlcPoc+v6Wzt73zhh03O1OPT3jMV6d7gyKBGIjqTUYBvZzA1BfJxPWrBdmn+cJi3sYHV4e3+rpWJ8uwtowH/uJHhhvzIZvDgTu8DyyEqRfdPbI/voATBN9791Yb72A2rYbY8QE5/XrqCP4lyHqRWM/1hVj/iqMWcud10wzd0+omzVBt74b9Z+vwQrgUHP9aKgd5fzsX4lM09kzK8MZ7oacPXY6at5KSDkTuHpy6LsaoRvURm3a7rzQqL6zkcrMgshKqB178tbsJsuCkiWwXhiIWvkR5qPPOXugiAp53rf7dIKsbNTXye7XALkrsL43DmvlZOew844GkJmF/cJA5xz0ppJQrgz2Y90gIxPDv7wCQLeMRSe0wRz5Jnyd7Kwn/g2gaaLb3oPdryvGh1ucjdJ1CH4AK5TDfqInulF9jD+/6xxSgbOS5fxP6Zi6TvgyLga9PLR2DjV8OXvf1DTMZ/+E+eIUuBCk62FlS2Ps+BoA89HnUF9+gz1plLPMxryNkfMomOtyDoN1+xbofl0AUClnnND7fJdGQzXOOXylCoGpw69sGfR9zbGWTcLu1h4yMtGNb3UCmnN0pM6eh5rV0DH1AlqK3bczlCuDOXy8c3Tivzxk21CxAvrRjvDdEdT3xT2AAE1+gT12GLpmdYyxMzBefSenGgNS01Bbd6FrVQ/+KGTOl6ojKjgbAJ8Pc+RE1NJ1+NbPurTHDJScQxu7T2c4fAyz05OoT/6N9e547Cd6Yr3xDLp1HHbbZoGto2Z1rKf7oTu3dU4XXpuO+iLJuQ72/XGMpWuhYnl0zshkUJQvC5lZGLNzNtimCSlnMJaugyoR6Eb1Azp73bkt9sCHUYd+wHzqNUj61llf/Ucilg3RNdBlr28wKDDXAS8fLr/W0PnO/2JOW4Jaug4a34quVhm0Rm37Ct/GBdC4QfBquYx532NQtRK6RlWM+X/F9+ki58JvkGpRm3dgth8AVSOwFk1At7nn0hedmVX0DVNhl8mBIxhL1mK8/Z4z/4hwdHg51MGj+BLnQJNfFK2OwtaitXNnzgt/xlj4PvrhX6MjK6H2H0Zt24Vv/Ry4w4V15WouG403Ji3AmLcKMrOwpr6Ijm0IWdmYE+ag/vm5s65EVi70R7sbwOxsSE2H0+fyXhfxD7Hn59RZ1DffOSf9GZnoqEjsJx8p+rWmG6klh9nlKVTiFihfFt/Hc+HOhkGvRX2yFWwbfV8z925MuJFlkpUNx1Mw5v8Vzp6HmyOxu3fIc+kmaLXsPeCMHSxeA+Hl0E1uw/rjkOBcl7wshGrlRxgL/4b66F/OAE2FcnAhHd/f38m9TFFY7gUwNQ2z10jUwaPw7ffolneiE9pgj+jnvO/z5b24frVrfG5c+7veWvy0Bp8PY9QkjNUb8a2e7gyCBLOWy1dAN6+DXm8d/r1RIC7+F2Vd8fmcy1imCWGmc9NCUVxIx3hrIfYz/ZzR5Wu5vI7MLNQ/P0clH0ZXrID+VSzccvN1z96dAGZcdG4ZqlYZu/v9UDkCY/Ii1LeH0bENsd6f5nyJ/gV7+Urm/4L9rxX1C3ejlj37ncsRtap7v1zcCECofT9uybiI2fYx1M7/oh/piDXzlWsHOgA3hrhyJ4z6+N+QegHr3fG5521W6ziMmcsxpizCbN0Xa9PinyxQY/h49B0N0P0fvLSQi3pza1FqadwA3b8b3H5rkWpwpRb/cnHhCw+Z78fFZYLPhzHmbdSps+ie8aj3N2BmXMRa+Eb+Icy5NgnAkeNQs4gb5xyuxFkdO+Ecz9fNGRXLyoZK4djD+2C/NhS19wBmpyed9/xb0e+OOAt9zkrnkMIlRapl7kpId+/SR3FZLsWlDldqcev7OfIjRuIWdOMGWBOfxZo0CpW4BfOx0XAxM5/CnQ2P2WMEZr8/gEtNel0JoL6tLpw+h9q4zXmhZAln61W2DHbfztgj+6N27cUYP9t5XymoWxPf1mVY70109a52qaX41uFKLW7d8xkVifXS77HmjoXqVdDd7sd+8xnU+s15Q3jlnVCVK6K+2ufa42runAOeS8Xs/BTcVAJr8mhomHNR1H8IceY8Zp9RcPoc1qZFgX2+TGopvnUUt1r855T+881zqRj/uw7j+T+j41thLRgHpUs50546C5UrOj+nnHFuEneBO2eU4eWd++G278GYtgQOHHFeN01nuDmiAvboQagvklC797kyS6nlZ1hHcavFfz7rH3ENL4/9SMdLe8LfveRcdz14FHPkRIwxbzvTufi7Ktx7HCm2IdZfp2L+ZhAYynnCPabupS3YmfNwc1X0ZY8hBYzUUnzrKG61XCm8PHbPB0ApjFGTMHs+4zwatXEb1pb3XJ+dq2Oqum0zrMTZGItWYz43EfXhFueN74+j1m+GihWC9hSz1FJ86yhuteQtTDt74Uc6Yo8agFq/GfWvnc4dLm7cmXWFgNyKprZ/hTF0HOrLb5ynqkuWhDPn8K2ded13CkgtoVtHcaslj0M/YI6YgNq0A9+mxZfOVV0WuJ4wKWdQn+1Ebf8KXScK3bb5paHnYJNaim8dxa0WcO7tHDgGtewDfNv/EtD7TOV3QwiRn6RvnZHZABx2Xk4CKISHpDO2EB6SAArhIQmgEB6SAArhIQmgEB6SAArhIQmgEB6SAArhof8Dp+0ZzvsiiiAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure() # 创建一个新图表\n",
    "rect = fig.patch   # 矩形实例并将其设为黄色\n",
    "rect.set_facecolor('lightgoldenrodyellow')\n",
    "\n",
    "ax1 = fig.add_axes([0.1, 0.3, 0.4, 0.4]) # 创一个axes对象，从(0.1,0.3)的位置开始，宽和高都为0.4，\n",
    "rect = ax1.patch   # ax1的矩形设为灰色\n",
    "rect.set_facecolor('lightslategray')\n",
    "\n",
    "\n",
    "for label in ax1.xaxis.get_ticklabels(): \n",
    "    # 调用x轴刻度标签实例，是一个text实例\n",
    "    label.set_color('red') # 颜色\n",
    "    label.set_rotation(45) # 旋转角度\n",
    "    label.set_fontsize(16) # 字体大小\n",
    "\n",
    "for line in ax1.yaxis.get_ticklines():\n",
    "    # 调用y轴刻度线条实例, 是一个Line2D实例\n",
    "    line.set_color('green')    # 颜色\n",
    "    line.set_markersize(25)    # marker大小\n",
    "    line.set_markeredgewidth(2)# marker粗细\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. Tick容器"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`matplotlib.axis.Tick`是从`Figure`到`Axes`到`Axis`到`Tick`中最末端的容器对象。  \n",
    "`Tick`包含了`tick`、`grid line`实例以及对应的`label`。 \n",
    "  \n",
    "所有的这些都可以通过`Tick`的属性获取，常见的`tick`属性有     \n",
    "`Tick.tick1line`：Line2D实例  \n",
    "`Tick.tick2line`：Line2D实例  \n",
    "`Tick.gridline`：Line2D实例  \n",
    "`Tick.label1`：Text实例  \n",
    "`Tick.label2`：Text实例  \n",
    "  \n",
    "y轴分为左右两个，因此tick1对应左侧的轴；tick2对应右侧的轴。   \n",
    "x轴分为上下两个，因此tick1对应下侧的轴；tick2对应上侧的轴。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面的例子展示了，如何将Y轴右边轴设为主轴，并将标签设置为美元符号且为绿色："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:19.075005Z",
     "start_time": "2021-05-23T08:29:18.965966Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d3a09910>]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(100*np.random.rand(20))\n",
    "\n",
    "# 设置ticker的显示格式\n",
    "formatter = matplotlib.ticker.FormatStrFormatter('$%1.2f')\n",
    "ax.yaxis.set_major_formatter(formatter)\n",
    "\n",
    "# 设置ticker的参数，右侧为主轴，颜色为绿色\n",
    "ax.yaxis.set_tick_params(which='major', labelcolor='green',\n",
    "                         labelleft=False, labelright=True)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 思考题\n",
    "1. primitives 和 container的区别和联系是什么？\n",
    "primaitives是绘图元素；\n",
    "container是容器，存放绘图元素，自身也有一些属性；\n",
    "2. 四个容器的联系和区别是么？他们分别控制一张图表的哪些要素？\n",
    "Figure：顶层级，用来容纳子 Axes，一组具体绘图元素和画布（canvas）。 画板。\n",
    "Axes：matplotlib宇宙的核心，容纳了大量元素用来构造一幅幅子图，一个figure可以由一个或多个子图组成。 子图。\n",
    "Axis：axes的下属层级，用于处理所有和坐标轴，网格有关的元素。 子图的坐标轴、网格\n",
    "Tick：axis的下属层级，用来处理所有和刻度有关的元素。 坐标轴的刻度。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 绘图题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. 使用提供的drug数据集，画出下面折线图。PA加粗标黄，其他为灰色。    \n",
    "图标题和横纵坐标轴标题，以及线的文本暂不做要求。  \n",
    "    \n",
    "![](https://img-blog.csdnimg.cn/20210523162430365.png)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-05-23T08:29:19.106129Z",
     "start_time": "2021-05-23T08:29:19.077010Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>State</th>\n",
       "      <th>YYYY</th>\n",
       "      <th>KY</th>\n",
       "      <th>OH</th>\n",
       "      <th>PA</th>\n",
       "      <th>VA</th>\n",
       "      <th>WV</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2010</td>\n",
       "      <td>10453</td>\n",
       "      <td>19707</td>\n",
       "      <td>19814</td>\n",
       "      <td>8685</td>\n",
       "      <td>2890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2011</td>\n",
       "      <td>10289</td>\n",
       "      <td>20330</td>\n",
       "      <td>19987</td>\n",
       "      <td>6749</td>\n",
       "      <td>3271</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2012</td>\n",
       "      <td>10722</td>\n",
       "      <td>23145</td>\n",
       "      <td>19959</td>\n",
       "      <td>7831</td>\n",
       "      <td>3376</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2013</td>\n",
       "      <td>11148</td>\n",
       "      <td>26846</td>\n",
       "      <td>20409</td>\n",
       "      <td>11675</td>\n",
       "      <td>4046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014</td>\n",
       "      <td>11081</td>\n",
       "      <td>30860</td>\n",
       "      <td>24904</td>\n",
       "      <td>9037</td>\n",
       "      <td>3280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2015</td>\n",
       "      <td>9865</td>\n",
       "      <td>37127</td>\n",
       "      <td>25651</td>\n",
       "      <td>8810</td>\n",
       "      <td>2571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2016</td>\n",
       "      <td>9093</td>\n",
       "      <td>42470</td>\n",
       "      <td>26164</td>\n",
       "      <td>10195</td>\n",
       "      <td>2548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2017</td>\n",
       "      <td>9394</td>\n",
       "      <td>46104</td>\n",
       "      <td>27894</td>\n",
       "      <td>10448</td>\n",
       "      <td>1614</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "State  YYYY     KY     OH     PA     VA    WV\n",
       "0      2010  10453  19707  19814   8685  2890\n",
       "1      2011  10289  20330  19987   6749  3271\n",
       "2      2012  10722  23145  19959   7831  3376\n",
       "3      2013  11148  26846  20409  11675  4046\n",
       "4      2014  11081  30860  24904   9037  3280\n",
       "5      2015   9865  37127  25651   8810  2571\n",
       "6      2016   9093  42470  26164  10195  2548\n",
       "7      2017   9394  46104  27894  10448  1614"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据导入代码\n",
    "# 导入包\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# 导入数据集并转成方便作图的格式\n",
    "Dataset = pd.read_csv('data/Drugs.csv')\n",
    "group = Dataset.groupby(['YYYY','State']).agg('sum').reset_index()\n",
    "df = group.pivot(index='YYYY', columns='State', values='DrugReports').reset_index()\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>State</th>\n",
       "      <th>KY</th>\n",
       "      <th>OH</th>\n",
       "      <th>PA</th>\n",
       "      <th>VA</th>\n",
       "      <th>WV</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>YYYY</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010</th>\n",
       "      <td>10453</td>\n",
       "      <td>19707</td>\n",
       "      <td>19814</td>\n",
       "      <td>8685</td>\n",
       "      <td>2890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2011</th>\n",
       "      <td>10289</td>\n",
       "      <td>20330</td>\n",
       "      <td>19987</td>\n",
       "      <td>6749</td>\n",
       "      <td>3271</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012</th>\n",
       "      <td>10722</td>\n",
       "      <td>23145</td>\n",
       "      <td>19959</td>\n",
       "      <td>7831</td>\n",
       "      <td>3376</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2013</th>\n",
       "      <td>11148</td>\n",
       "      <td>26846</td>\n",
       "      <td>20409</td>\n",
       "      <td>11675</td>\n",
       "      <td>4046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2014</th>\n",
       "      <td>11081</td>\n",
       "      <td>30860</td>\n",
       "      <td>24904</td>\n",
       "      <td>9037</td>\n",
       "      <td>3280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015</th>\n",
       "      <td>9865</td>\n",
       "      <td>37127</td>\n",
       "      <td>25651</td>\n",
       "      <td>8810</td>\n",
       "      <td>2571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016</th>\n",
       "      <td>9093</td>\n",
       "      <td>42470</td>\n",
       "      <td>26164</td>\n",
       "      <td>10195</td>\n",
       "      <td>2548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2017</th>\n",
       "      <td>9394</td>\n",
       "      <td>46104</td>\n",
       "      <td>27894</td>\n",
       "      <td>10448</td>\n",
       "      <td>1614</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "State     KY     OH     PA     VA    WV\n",
       "YYYY                                   \n",
       "2010   10453  19707  19814   8685  2890\n",
       "2011   10289  20330  19987   6749  3271\n",
       "2012   10722  23145  19959   7831  3376\n",
       "2013   11148  26846  20409  11675  4046\n",
       "2014   11081  30860  24904   9037  3280\n",
       "2015    9865  37127  25651   8810  2571\n",
       "2016    9093  42470  26164  10195  2548\n",
       "2017    9394  46104  27894  10448  1614"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d7f0c130>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(2017, 9394, 'KY')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d7f0c430>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(2017, 46104, 'OH')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d7f0ca00>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(2017, 27894, 'PA')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d7f0cfa0>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(2017, 10448, 'VA')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4d7f1b580>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(2017, 1614, 'WV')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.0, 1.0, 'Evolution of PA vs other states')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'DrugReports')"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# fig = plt.figure()\n",
    "# ax = fig.add_subplot(111)\n",
    "\n",
    "#上面两行更简洁的替代方法，获取到fig，以后可以做figure级别的调用，如fig.savefig('yourfilename.png')\n",
    "fig, ax = plt.subplots()\n",
    "\n",
    "colors = ['grey', 'grey', 'orange', 'grey', 'grey']\n",
    "lws = [2, 2, 4, 2, 2]\n",
    "ax.set_title(label=\"Evolution of PA vs other states\", loc='left', color='orange')\n",
    "ax.set_ylabel('DrugReports')\n",
    "ax.grid()\n",
    "for col, color, lw in zip(df.columns[1:], colors, lws):\n",
    "    ax.plot(df['YYYY'], df[col], color=color, lw=lw)\n",
    "    ax.annotate(col, (2017, df[col].iloc[-1]), fontsize=6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.分别用一组长方形柱和填充面积的方式模仿画出下图，函数 y = -1 * (x - 2) * (x - 8) +10 在区间[2,9]的积分面积\n",
    "![](https://img-blog.csdnimg.cn/20201126105910781.png)\n",
    "![](https://img-blog.csdnimg.cn/20201126105910780.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 20.0)"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.axis.XTick at 0x2a4de6c0880>,\n",
       " <matplotlib.axis.XTick at 0x2a4de6c0850>,\n",
       " <matplotlib.axis.XTick at 0x2a4de6b2310>,\n",
       " <matplotlib.axis.XTick at 0x2a4de7219d0>,\n",
       " <matplotlib.axis.XTick at 0x2a4de72e160>,\n",
       " <matplotlib.axis.XTick at 0x2a4de72e8b0>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4de72e850>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "(0.0, 20.0)"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.axis.XTick at 0x2a4de6fa070>,\n",
       " <matplotlib.axis.XTick at 0x2a4de6fa040>,\n",
       " <matplotlib.axis.XTick at 0x2a4de6f36d0>,\n",
       " <matplotlib.axis.XTick at 0x2a4de7341f0>,\n",
       " <matplotlib.axis.XTick at 0x2a4de734940>,\n",
       " <matplotlib.axis.XTick at 0x2a4de73c0d0>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a4de734af0>]"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 80 artists>"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x2a4dc535190>"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0, 10, 100)\n",
    "y = -1 * (x -2) * (x - 8) + 10\n",
    "fig, (ax1, ax2) = plt.subplots(2, 1)\n",
    "\n",
    "ax1.set_ylim(0, 20)\n",
    "ax1.set_xticks(range(0, 12, 2))\n",
    "ax1.plot(x, y, color='red')\n",
    "\n",
    "ax2.set_ylim(0, 20)\n",
    "ax2.set_xticks(range(0, 12, 2))\n",
    "ax2.plot(x, y, color='red')\n",
    "\n",
    "ax1.bar(x[20:], y[20:], alpha=0.5, width=0.04, color='grey', lw=0.05)\n",
    "# ax2.fill(x[20:], y[20:], color='grey', alpha=0.3)\n",
    "ax2.fill_between(x, y, where=x>=2,color='grey', alpha=0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 参考资料\n",
    "[1. matplotlib设计的基本逻辑](https://zhuanlan.zhihu.com/p/32693665)  \n",
    "[2. matplotlib.artist api](https://matplotlib.org/api/artist_api.html)  \n",
    "[3. matplotlib官方教程](https://matplotlib.org/tutorials/intermediate/artists.html#sphx-glr-tutorials-intermediate-artists-py)  \n",
    "[4. AI算法工程师手册](https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.2.333f5abdbabf383d.md)  "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "341.292px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
